草庐IT

Shell 脚本详解

全部标签

windows - 从不同目录调用时,此批处理脚本返回不正确的值

当从不同目录调用时,此批处理脚本返回不正确的值。我希望有人可以帮助我解决这个问题,以便它始终确定正确的APP_HOME目录。脚本位于如下位置:C:\Temp\MyApplication\bin\runner.bat而且,我想从以下位置执行它:C:\Temp\OutsideDir\runApp.bat当我尝试这个时,我得到“OutsideDir”,但我希望它得到“bin”:C:\Temp\OutsideDir>C:\Temp\MyApplication\bin\runner.batCurrentdirectoryis:C:\Temp\MyApplication\binThisfolder

用于禁用最小化和最大化按钮的 Windows 脚本

我发现以下vbs脚本可以按照我想要的方式完美打开IE。我已经看到一些网页的javascript禁用最小/最大按钮,但实际上并没有无缝地工作。我使用的是XPPro。有什么方法可以编辑它以禁用应用程序窗口中的最小/最大按钮吗?SetoIE=CreateObject("InternetExplorer.Application")WithoIE.FullScreen=True.AddressBar=False.ToolBar=True.StatusBar=True.Navigate("www.google.com").Visible=TrueEndWith 最佳答案

windows - Windows Shell 中的 ImageMagick 命令替换

我应该如何将以下imagemagick命令转换为在DOS中使用?据我所知,我不能直接转换它,必须在批处理文件中使用for循环,但到目前为止没有成功。convertnoisy.jpg-crop`convertnoisy.jpg-virtual-pixeledge-blur0x15-fuzz15%-trim-format'%wx%h%O'info:`+repagenoisy_trimmed_2.jpg 最佳答案 您需要使用for命令来捕获要作为参数传递的命令的输出。可以将它压缩成一行:for/f"usebackqdelims="%%in

windows - 我正在使用 WAMP 运行 PHP 脚本,在这种情况下如何从我的文档中读取文件?

我有一个Web应用程序,它从其本地目录(在wamp/www/中)读取文件。该文件需要由多个用户访问,因此我使用Dropbox同步并共享了它。现在,有没有我可以在fwrite等php命令中使用的快捷方式,这样代码就不会严格适用于一台计算机?例如,我无法将其编码为fwrite("C:\Users\name\MyDocuments\"),因为它非常特定于一个用户并且很长。我想知道是否有我可以使用的速记,例如%appdata%或%programfiles%? 最佳答案 尝试使用$_SERVER['HOMEDRIVE']and$_SERVER

windows - ANT 脚本不工作

我有一个通过命令行运行yuidoc的ANT脚本,但是当我运行这个脚本时它给我以下错误:[exec]'yuidoc'isnotrecognizedasaninternalorexternalcommand,[exec]operableprogramorbatchfile.和相同的命令->yuidoc-cyuidoc.json。工作然后我通过cmd提示符运行它。我的ANT脚本: 最佳答案 替换executable="cmd"与executable="${pathto/yuidoc}/yuidoc.exe"例子:executable="$

java - 是什么导致 sun.awt.shell.Win32ShellFolder2.initSpecial() 抛出 InternalError?

我们的一些Windows用户在启动我们的应用后不久就得到了这个堆栈跟踪:java.lang.InternalError:Couldnotbindshellfoldertointerfaceatsun.awt.shell.Win32ShellFolder2.initSpecial(NativeMethod)~[na:1.7.0_25]atsun.awt.shell.Win32ShellFolder2.access$300(UnknownSource)~[na:1.7.0_25]atsun.awt.shell.Win32ShellFolder2$1.call(UnknownSource)~

windows - 我的 .git 文件夹中是否有专门的位置可以放置私有(private)脚本?

我在我的Git存储库中使用了一些自定义过滤器脚本。目前,它们与我的源代码一起检入,这有时会导致问题:当我checkout比我将过滤器脚本添加到我的存储库中的版本更早的版本时,我收到过滤器无法执行的警告,因为它们找不到。为了克服这个问题,我想将脚本放在.git文件夹中,以便它们出现在我需要它们的地方,但在检查旧版本时不会出现问题。我想将它们保留在存储库中,因为脚本内容是特定于存储库的,所以简单地将它们放在我机器上的另一个位置并不是我想要的。问题是:.git文件夹中是否有一些“安全”位置可以存储我的脚本?从某种意义上说是安全的,因为脚本不会自动清理,也不会在后续的Git版本中出现问题。

windows - 如何在批处理文件脚本中循环打印程序的返回值?

任务是运行一个程序(同一个程序)十次,每次运行输出退出码(main函数的返回值)。所以我想运行一个批处理文件(Windows),如下所示:FOR/l%%xIN(1,1,10)DO(AutomatedTest.execip.logECHO%ERRORLEVEL%)如果您凭直觉思考,上面的代码应该可以做到,但它不起作用,因为它运行的代码实际上是:(AutomatedTest.execip.logECHO0)这block被执行了10次。关于如何让它发挥作用的任何想法?谢谢! 最佳答案 你需要的是延迟变量扩展:FOR/l%%xIN(1,1,

javascript - Wscript.shell.run 和 Wscript.shell.exec 不显示相同的输出

我在Javascript中使用ActiveXObject。varshell=newActiveXObject("WScript.Shell");exec=shell.exec('cmd/cftp-i-A-s:file.ftphost);varoutput=exec.StdOut.ReadAll();我收到预期错误“无法创建文件”,因为该文件已存在于服务器上。这里一切都好。但是输出不显示ftp的错误代码,而Run方法会显示(553Couldnotcreatefile)。我不使用Run方法,因为唯一可能的输出是将输出重定向到客户端计算机上的文件中。相信我,我看了很多网站(包括Windows

windows - 在批处理脚本中将文件路径连接到环境变量

我制作了一个bat脚本,它应该将文件夹列表复制到一个变量,但我没有在变量中得到任何东西。换句话说,当我在for循环之后回显变量时,我得到了预期的输出,但是在执行脚本后的外部shell中,我没有看到我的变量中有任何设置。如何让所有变量正确复制?我正在使用Windows7。批处理文件(script.bat):@echooffsetlocalenabledelayedexpansionenableextensionsfor/r/D%%xin(*)do(SETPATH_VALUE=%%x;!PATH_VALUE!)echo%PATH_VALUE%windowscmd实用程序的输出C:\test